package comandos;

import java.util.Map;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import excecoes.DAOException;

import allaboutmybook.GerenteConcretoDasResenhas;
import allaboutmybook.GerenteDasResenhas;
import allaboutmybook.Resenha;

public class MostrarPaginaDeUmaResenha 
{
	private String tituloResenha;
	private String notaResenha;
	private String autorResenha;
	private String textoResenha; 
	
	public String mostrarPaginaResenha()
	{
		try
		{
			Map<String,String> parametrosDoMetodo = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
			String tituloResenhaQueEuQuero = parametrosDoMetodo.get("tituloResenha");
			GerenteDasResenhas gerenteResenhas = GerenteConcretoDasResenhas.getInstance();
			Resenha resenha = gerenteResenhas.pegarResenha(tituloResenhaQueEuQuero);
			
			this.tituloResenha = resenha.getTitulo();
			this.notaResenha = resenha.getNota();
			this.autorResenha = resenha.getAutorDaResenha();
			this.textoResenha = resenha.getTextoResenha();
			
			return "successMostrarPaginaResenha";
		}
		catch(DAOException e)
		{
			FacesMessage mensagemDeErro = new FacesMessage("Problemas em acessar banco de dados. Tente novamente mais tarde");
			FacesContext.getCurrentInstance().addMessage("Problemas em acessar banco de dados. Tente novamente mais tarde", mensagemDeErro);
			return "failureMostrarPaginaResenha";
		}
	}

	public String getTituloResenha() {
		return tituloResenha;
	}

	public void setTituloResenha(String tituloResenha) {
		this.tituloResenha = tituloResenha;
	}

	public String getNotaResenha() {
		return notaResenha;
	}

	public void setNotaResenha(String notaResenha) {
		this.notaResenha = notaResenha;
	}

	public String getAutorResenha() {
		return autorResenha;
	}

	public void setAutorResenha(String autorResenha) {
		this.autorResenha = autorResenha;
	}

	public String getTextoResenha() {
		return textoResenha;
	}

	public void setTextoResenha(String textoResenha) {
		this.textoResenha = textoResenha;
	}
}
